#include <stdio.h>
// 寻求改变。改变里面的数据

#if 0
int main()
{
    char *p = "Chxna";
    printf("%c\n",p[2]);
//    p[2] = 'i';
    char arr[] = {'C', 'h', 'x', 'n', 'a'};
    printf("%c\n",arr[2]);
    arr[2] = 'i';
    printf("%c\n",arr[2]);
    return 0;
}
#endif

// 正是因为字符数组和字符串，他们具有相同的性质
// 所以要改变字符串的内容，通常将字符串复制到字符数组中
// arr[6] 是栈上的空间
//"China" 是 data 一块常量区域
int main()
{
    char arr[6] = "China";  // 他们之间存在某种等价关系
    printf("sizeof(arr)     = %d  arr     = %p  arr + 1     = %p\t\n",sizeof (arr),arr,arr+1);
    printf("sizeof(\"China\") = %d  \"China\" = %p  \"China\" + 1 = %p\t\n",sizeof ("China"),"China","China"+1);
    printf("arr     = %s\n",arr);
    arr[2] = 'x';
    printf("arr     = %s\n",arr);
    printf("\"China\" = %s\n","China");
//    "China"[2] = 'x';
    return 0;
}
